package pe.com.bn.sach.dao.impl;

import java.sql.SQLException;
import java.util.List;

import org.apache.log4j.Logger;

import com.ibatis.sqlmap.client.SqlMapClient;

import pe.com.bn.sach.cliente.controller.ClienteController;
import pe.com.bn.sach.domain.Bnchf30AprobacionRequerida;
import pe.com.bn.sach.domain.Bnchf30AprobFlujoExpe;
import pe.com.bn.sach.domain.Bnchf30HistoricoAprobacion;
import pe.com.bn.sach.domain.Bnchf13Expediente;
import pe.com.bn.sach.dao.AprobCrediticiaDAO;

public class AprobCrediticiaImpl implements   AprobCrediticiaDAO
{

	private static Logger log = Logger.getLogger(ClienteController.class.getName());
	protected SqlMapClient sqlMap = null;
	
	public void setSqlMap(SqlMapClient sqlMap) {
		this.sqlMap = sqlMap;
	}

	
	 
	/**********************lista listaprobacionRequerida **************************/
	
	public List listaprobacionRequerida(Bnchf30AprobacionRequerida bnchf30AprobacionRequerida) throws Exception{

	
		return sqlMap.queryForList("aprobacionRequerida30.listaprobacionRequerida",bnchf30AprobacionRequerida);
	}
	
	public List listaprobacionRequeridaDatos(Bnchf30AprobacionRequerida bnchf30AprobacionRequerida) throws Exception{
		


		return sqlMap.queryForList("aprobacionRequerida30.listaprobacionRequeridaDatos",bnchf30AprobacionRequerida);
	}
	
	
	public List listaAprobacionesFlujo(Bnchf13Expediente bnchf13Expediente) throws Exception{
		
		return sqlMap.queryForList("aprobacionRequerida30.listaAprobacionesFlujo",bnchf13Expediente);
	}
	
	public List listaAprobacionesFlujoDesembolso(Bnchf13Expediente bnchf13Expediente) throws Exception{


		return sqlMap.queryForList("aprobacionRequerida30.listaAprobacionesFlujoDesembolso",bnchf13Expediente);
	}
	
	
	
	public void GuardaAprobFlujoExpe(Bnchf30AprobFlujoExpe bnchf30AprobFlujoExpe)throws Exception{


		try{
		sqlMap.startTransaction();
		sqlMap.insert("aprobacionRequerida30.GuardaAprobFlujoExpe",bnchf30AprobFlujoExpe);
		sqlMap.commitTransaction();
		} catch (Exception e) {
			e.printStackTrace();
			throw e;
		 } finally {
		    sqlMap.endTransaction();
		}

	}
	
	
	public void guardaHistoricoAprobFlujoExpe(Bnchf30HistoricoAprobacion bnchf30HistoricoAprobacion)throws Exception{


		try{
		sqlMap.startTransaction();
		sqlMap.insert("aprobacionRequerida30.guardaHistoricoAprobFlujoExpe",bnchf30HistoricoAprobacion);
		sqlMap.commitTransaction();
		} catch (Exception e) {
			e.printStackTrace();
			throw e;
		 } finally {
		    sqlMap.endTransaction();
		}

	}
	
	
	
	public void deleteAprobFlujo(Bnchf30AprobFlujoExpe bnchf30AprobFlujoExpe) 
	throws Exception{  


				try {
					sqlMap.startTransaction();
					sqlMap.delete("aprobacionRequerida30.deleteAprobFlujo",bnchf30AprobFlujoExpe);
					sqlMap.commitTransaction();
					

			} catch (SQLException e) {
				e.printStackTrace();
				throw e;
			}
			finally {
				sqlMap.endTransaction();
			}
	}
	
	  
	public void ActualizaAprobFlujoExpe(Bnchf30AprobFlujoExpe bnchf30AprobFlujoExpe) throws Exception {


		try{
		sqlMap.startTransaction();
		sqlMap.update("aprobacionRequerida30.ActualizaAprobFlujoExpe",bnchf30AprobFlujoExpe);
		sqlMap.commitTransaction();
		} catch (Exception e) {
			e.printStackTrace();
			throw e;
		 } finally {
		    sqlMap.endTransaction();
		}

	}
	
}

